We present our experience in implementing a group communication toolkit in Objective
Caml, a dialect of the ML family of programming languages. We compare the toolkit both
quantitatively and qualitatively to a predecessor toolkit which was implemented in C. Our
experience shows that using the high-level abstraction features of ML gives substantial
advantages. Some of these features, such as automatic memory management and message
marshalling, allowed us to concentrate on those pieces of the implementation which required
careful attention in order to achieve good performance. We conclude with a set of suggested
changes to ML implementations.